Conventional search engines receive queries from users to locate web pages having terms that match the terms included in the received queries. Conventionally, the search engines ignore the context and meaning of the user query and treat the query as a set of words. The terms included in the query are searched for based on frequency, and results that include the terms of the query are returned by the search engine.
Accordingly, conventional search engines return results that might fail to satisfy the interests of the user. The user attempts to reformulate the query by choosing words that are likely found in a document of interest. For instance, a user looking for stock information may enter a query for “PE Company A Stock.” The conventional search engine will treat each word separately and return documents having the term “Company A,” documents having the term “PE,” documents having the terms “stock,” and documents having any of the terms. The conventional search engine is unable to intelligently select documents in results that discuss the stock performance of Company A, a comparison of Company A to its competitor, and news about the management of Company A. The user must read the different documents in the results to determine whether any of the documents includes performance information.